package com.dd.cloud.user.service.common;

import com.dd.cloud.common.vo.LngLatInfoVo;
import com.dd.cloud.common.vo.WeatherInfoVo;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * @author Lx
 * @version 1.0
 */
public interface ICommonService {
    /**
     * 生成图形验证码
     *
     * @param response
     * @param key
     */
    void createImageCode(HttpServletResponse response, String key);

    /**
     * 验证图形验证码
     *
     * @param key
     * @param code
     * @return
     */
    boolean verifyImageCode(String key, String code);

    /**
     * 根据地址获取经纬度
     *
     * @param addr
     * @return
     */
    LngLatInfoVo geocodingUrl(String addr);

    /**
     * 查询天气信息
     *
     * @param province
     * @param city
     * @param ip
     * @param request
     * @return
     */
    WeatherInfoVo getWeatherInfo(String province, String city, String ip, HttpServletRequest request);

    /**
     * 验证密码错误次数
     */
    public void checkLoginPwdError(HttpServletRequest request, String account);

    /**
     * 密码错误增加次数
     */
    public void loginPwdError(HttpServletRequest request, String account);

    /**
     * 通过gpt获取症状的口语化描述
     */
    void getSymptomInfoFromGpt(HttpServletRequest request);
}
